<?php

// Inclui a biblioteca do Smarty	
require_once(SMARTY_DIR.'Smarty.class.php');

//! Classe que gerencia a interface	
/*!
    Classe que serve como view (do MVC) para o sistema.
*/
class Tela extends Smarty
{

    //! Atributo aparentemente nao utilizado
    /*!
        ???
        \sa setPagina()
    */
    var $pagina;

    //! Construtor
    /*!
        Construtor da classe, inicializa algumas variaveis importantes do Smarty.
    */
    function Tela()
    {
        $this->compile_dir = SMARTY_AUX_DIR . 'templates_c';
        $this->config_dir = SMARTY_AUX_DIR . 'configs';
        $this->cache_dir = SMARTY_AUX_DIR . 'cache';
        $this->template_dir = "";

        $this->assign('pagina','inicio.html');
        $this->assign('menu', TRUE);
    }

    //! Use esta funcao para enviar textos e mensagens
    /*!
        Funcao pratica para associar uma variavel a um texto.
        \param $nome Nome do campo
        \param $valor Valor novo para o campo
        \sa setDado()
    */
    function setCampo($nome, $valor)
    {
        $this->assign($nome, htmlentities($valor, ENT_NOQUOTES));
    }

    //! Use esta funcao para enviar dados binarios, registros, etc..
    /*!
        Funcao pratica para associar uma variavel a um valor nao textual
        \param $nome Nome do campo
        \param $valor Valor novo para o campo
        \sa setCampo()
    */
    function setDado($nome, $valor)
    {
        $this->assign($nome, $valor);
    }

    //! Define uma pagina e se aparece um menu
    /*!
        Funcao que define uma pagina e se o menu deve ou nao ser exibido.
        \param $pagina Pagina associada
        \param $menu Menu deve ou nao aparecer
    */
    function setPagina($pagina, $menu = TRUE)
    {
        $this->assign('pagina', $pagina);
        $this->assign('menu', $menu);
    }

    //! Monta a pagina e a exibe na tela
    /*!
        Monta a pagina atraves do metodo "display()", do Smarty.
    */
    function mostrar()
    {
        $this->display('template.html');
    }

}

?>
